package com.gcxy.service;

import com.gcxy.core.R;
import com.gcxy.dto.semester.SemesterInfoDTO;
import com.gcxy.dto.semester.SemesterPageDTO;
import com.gcxy.entity.Semester;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gcxy.vo.semester.SemesterInfoVO;

import java.util.List;

/**
 * <p>
 * 学期信息 服务类
 * </p>
 *
 * @author Huang先森
 * @since 2024-07-22
 */
public interface SemesterService extends IService<Semester> {


    R<?> insertSemester(SemesterInfoDTO semesterInfoDTO);

    R<?> getSemesterPageByCondition(SemesterPageDTO semesterPageDTO);

    R<?> updateSemester(SemesterInfoDTO semesterInfoDTO);

    Semester getCurrentSemester();

    R<?> deleteSemesterById(Integer id);

    /**
     * 获取当前时间对应的周数
     *
     * @return
     */
    Integer getWeekNum();

    boolean checkSemesterById(Integer id);

    R<List<SemesterInfoVO>> getAllSemesterInfo();
}
